MIT-BIH数据库ECG心电图数据处理画图与心率计算(附详细注释)

本文详细介绍了如何使用MIT-BIH心电图数据库进行数据处理,包括心电图信号的读取、预处理、画图以及心率的计算。通过附带的代码注释,读者可以清晰理解每个步骤,对于生物医学信号处理和心率监测的研究具有参考价值。
摘要由CSDN通过智能技术生成

本文代码依据rddata.m文件编写,关于数据结构的格式、意义,我在理解后都写在注释里了,有需要的朋友可以认真看一下。欢迎交流。
本文处理的数据是MIT-BIH数据库100.hea和100.dat文件,利用的是matlab工具。

%文件名称  :  ECG_Plot
%实现功能  :  读取MIT-BIH-DB文件,读取信号,对信号加噪声,并利用滤波器去噪,并
%             实现图像输出。
%参考资料  :  rddata.m    Author-Robert Tratnig 
%作者信息  :  171848-张冰
%             zhangbingemail@qq.com
%             
%修订时间  :  2018年3月27日17点03分
%调用格式  :  无
%参数释义  :  无

clc;clear all;

PATH= '';
HEADERFILE= '100.hea';
ATRFILE= '100.atr';
DATAFILE='100.dat';

%=========================对100.dat文件数据的处理=========================%
%.hea文件存储了ECG的基本信息
% 通过函数 fullfile 获得头文件的完整路径
signalh= fullfile(PATH, HEADERFILE);
% 打开头文件,其标识符为 fid1 ,属性为'r'--“只读”
fid1=fopen(signalh,'r');
% 读取头文件的第一行数据,字符串格式
z= fgetl(fid1);
% 按照格式 '%*s %d %d %d' 转换数据并存入矩阵 A 中
A= sscanf(z, '%*s %d %d %d',[1,3]);

nosig= A(1);    % 信号通道数目
sfreq=A(2);     % 数据采样频率
SAMPLES2READ = 10*sfreq;    %取十秒数据

for k=1:nosig           % 读取每个通道信号的数据信息
    z= fgetl(fid1);
    A= sscanf(z, '%*s %d %d %d %d %d',[1,5]);
    dformat(k)= A(1);           % 信号格式; 这里只允许为 212 格式
    gain(k)= A(2);              % 每 mV 包含的整数个数
    bitres(k)= A(3);            % 采样精度(位分辨率)
    zerovalue(k)= A(4);         % ECG 信号零点相应的整数值
    firstvalue(k)= A(5);        % 信号的第一个整数
  • 21
    点赞
  • 240
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值